R

Un poco de historia sobre R

El lenguaje R tiene su origen en el lenguaje S y fue desarrollado por Ross Ihaka y Robert Gentleman en el Department of Statistics of the University of Auckland in Auckland, New Zealanda a mediados de los años 90.

  • Open-source
  • Dirigido por la R Foundation, organizacion sin fines de lucro con sede en Vienna University of Economics and Business.
  • 17682 paquetes, al dia de hoy, dentro de CRAN (Comprehensive R Archive Network) para ampliar la funcionalidad de base.

One IDE to rule them all

RStudio es un IDE que incrementa las capacidades de R con una variedad de funcionalidades.

  • El 79% de los usuarios de R utilizan RStudio como IDE.
  • Cuenta con versiones gratuitas open-source y versiones para uso comercial.

¿Que se puede hacer con R?

  • Transformacion y manipulacion
  • Exploracion
  • Modelado
  • Presentacion y reporte

Necesitamos librerias

Para realizar muchas de las cosas necesarias en un pipeline de analisis es necesario cargar ciertas librerias

install.packages('Nombredelalibreria') #Para instalar librerias
library(Nombredelalibreria) #Para cargar la libreria 
#(notese la falta de comillas)

La gran mayoria de las librerias que vamos a utilizar se encuentran dentro del paquete tidyverse.

The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures.

¿Que es el tidyverse?

El tidyverse

El pipeline de analisis

Importar datos

Librerias para importar

Las librerias mas utiles para importar datos son readr y readxl, siendo esta ultima creada particularmente para archivos de Excel

Funciones para importar

Hay una variedad de funciones para importar siguiendo todas un formato del estilo

read_formatodearchivo('File/Path') 

  #Por Ejemplo
read_csv() #Para leer CSV
read_tsv() #Para leer archivos separados por Tabs
read_delim() #Para definir la delimitacion entre los elementos
#Para leer excel
read_xls() 
read_xlsx()

Funciones para exportar

Las funciones para guardar una base de datos desde R sigue una logica similar a la importacion y utilizan las mismas librerias

write_formatodearchivo('File/Path')

write_csv()
write_tsv()
write_delim()

Un dataset tidy

Tres reglas interrelacionadas:

  • Cada variable tiene su propia columna
  • Cada observacion tiene su propia fila
  • Cada valor tiene su propia celda

Generando o rompiendo un dataset tidy

Hay ocasiones en las cuales es necesario modificar la estructura de un dataset

pivot_longer() 

Generando o rompiendo un dataset tidy

Podemos pasar facilmente de un formato long a un formato wide

pivot_wider()

Proximo paso

Transformaciones

Graficos, un capitulo aparte

Haciendo graficos

Grammar of graphics

Constituye la base del uso de ggplot y librerias asociadas.

Data

library(ggplot2)
ggplot(data = pressure)

Aesthetics

ggplot(data = pressure, 
       mapping = aes(x = temperature, y = pressure))

Geomas

ggplot(data = pressure, mapping = aes(x = temperature, y = pressure)) +
  geom_point()

Geomas diferentes

ggplot(data = pressure, mapping = aes(x = temperature, y = pressure)) +
  geom_line()

ggplot(data = pressure, mapping = aes(x = temperature, y = pressure)) +
  geom_step()

Combinacion de geomas

ggplot(data = pressure, mapping = aes(x = temperature, y = pressure)) +
  geom_point() +
  geom_line()

Extendiendo ggplot: GGally

La funcion ggpairs() del paquete GGally es muy util para la visualizacion de datos multivariados.

GGally::ggpairs(iris)

Extendiendo ggplot: ggpubr

El paquete ggpubr posee diversas funcionalidades utiles en graficos aptos para presentacion en el mundo academico.

Haciendolo interactivo: plotly

La libreria plotly permite convertir graficos de ggplot en graficos interactivos

Recursos complementarios